<?php
declare (strict_types = 1);

namespace app\validate;

use think\Validate;

class ActivityStore extends BaseValidate
{
    /**
     * 定义验证规则
     * 格式：'字段名' =>  ['规则1','规则2'...]
     *
     * @var array
     */
    protected $rule = [
        /*活动类型 0专属招商 1公开招商;*/
        'activity_kind'=>['in:0'],
        /* 招商方式 1全部商家 2指定商家*/
        'activity_type'=>['in:1,2'],
        // 当activity_type的值等于2的时候 specified_shop_ids必须
        'specified_shop_ids'=>['requireIf:activity_type,2','checkShopIds'],
        /*是否设置门槛*/
        'threshold'=>['requireIf:activity_type,1','boolean','checkThreshold'],
        'shop_type'=>['requireIf:threshold,1','array'],
        'freshman_shop'=>['requireIf:threshold,1','boolean'],
        'is_new'=>['requireIf:threshold,1','boolean'],
        'shop_score'=>['requireIf:threshold,1','in:0,1,2,3,4'],
        'activity_name'=>['require','max:60'],
        'activity_desc'=>['require','max:200'],
        'apply_start_time'=>['require','date'],
        'apply_end_time'=>['require','date'],
       // 'apply_time'=>['require'],
        'promote_start_time'=>['require','date'],
        'promote_end_time'=>['require','date'],
     //   'promote_time'=>['require'],
       // 'category'=>['require','array'],
        'commission_rate'=>['require','integer','between:1,50'],
        'service_rate'=>['require','integer','between:0,40'],
        'estimated_single_sale'=>['require','float'],
        'wechat_id'=>['max:30'],
        'phone_num'=>['mobile'],
        'online'=>['require','boolean']
    ];


    /**
     * 定义错误信息
     * 格式：'字段名.规则名' =>  '错误信息'
     *
     * @var array
     */
    protected $message = [
        'activity_kind.in'=>'活动类型选择错误',
        'activity_type.in'=>'招商方式选择错误',
        'specified_shop_ids.requireIf'=>'请选择商家',
        'specified_shop_ids.checkShopIds'=>'请选择正确的商家',
        'threshold.requireIf'=>'请选择报名门槛',
        'threshold.boolean'=>'报名门槛参数错误',
        'threshold.checkThreshold'=>'指定商家报名方式不需要设置门槛',
        'shop_type.requireIf'=>'请选择店铺类型',
        'shop_type.array'=>'店铺类型格式不正确',
        'freshman_shop.requireIf'=>'请选择新手店铺',
        'freshman_shop.in'=>'请选择新手店铺',
        'is_new.requireIf'=>'请选择新手店铺',
        'is_new.in'=>'请选择新手店铺',
        'shop_score.requireIf'=>'请选择商家体验分',
        'shop_score.in'=>'请选择商家体验分',
        'activity_name.require'=>'请填写活动标题',
        'activity_name.max'=>'活动标题不能超过60个字',
        'activity_desc.require'=>'请填写活动要求',
        'activity_desc.max'=>'活动要求不能超过200个字',
        'apply_start_time.require'=>'请选择商家报名开始时间',
        'apply_start_time.date'=>'报名开始时间格式不正确',
        'apply_end_time.require'=>'请选择商家报名结束时间',
        'apply_end_time.date'=>'报名结束时间格式不正确',
        'apply_end_time.after'=>'报名结束时间不能小于开始时间',
        'promote_start_time.require'=>'请选择推广开始时间',
        'promote_end_time.date'=>'推广开始时间格式不正确',
        'promote_end_time.require'=>'请选择推广结束时间',
        'promote_end_time.date'=>'推广结束时间格式不正确',
        'promote_end_time.after'=>'推广结束时间必须大于报名结束时间',
        'category.require'=>'请选择指定商品类目',
        'category.array'=>'商品类目格式不正确',
        'commission_rate.require'=>'请填写佣金率',
        'commission_rate.integer'=>'佣金率请输入1-50的数字',
        'commission_rate.between'=>'佣金率请输入1-50的数字',
        'service_rate.require'=>'请填写服务费率',
        'service_rate.integer'=>'服务费率请输入1-40的数字',
        'service_rate.between'=>'服务费率请输入0-40的数字',
        'estimated_single_sale.require'=>'请输入单品成交金额',
        'estimated_single_sale.float'=>'请输入数字，最多两位小数',
        'wechat_id.max'=>'微信不能大于30个字',
        'phone_num.mobile'=>'请填写正确的手机号',
        'online.require'=>'请选择活动状态',
        'online.boolean'=>'活动状态格式不正确'
    ];
}
